package dse.modules;

import java.util.Map;

import dse.Network;
import dse.Node;
import dse.NodeState;

public interface NodeEventScheduler extends Module {
	/**
	 * Initalizes the state of all nodes in the network.  Should be run as part
	 * of the experiment setup.
	 * 
	 * @param network
	 */
	public void setInitalStates (Network network);
	/**
	 * Returns the set of nodes whose states should be changed.
	 *  
	 * @param network
	 * @return
	 */
	public Map<Node, NodeState> getEvents (
			Network network
			);
	public int getEventsPerPeriod();
}
